﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Urgencias.Controlador;
using Urgencias.Modelo;

namespace Urgencias.Vista
{
    public partial class IngresarPacienteUC : UserControl
    {
        Paciente p;
        public IngresarPacienteUC()
        {
            InitializeComponent();
            p = new Paciente();
        }

        public void reestablecer()
        {
            rutBox.ResetText();
            nombreTB.ResetText();
            apMaternoTB.ResetText();
            ApPaternoTB.ResetText();
            telTB.ResetText();
            previsionTB.ResetText();
            dire1TB.ResetText();
            dire2TB.ResetText();
            //textBox9.ResetText();
        }

        private void rutBox_Leave(object sender, EventArgs e)
        {
            string rut = rutBox.Text;
            rutBox.Text=rutBox.Text.ToUpper();
            validarRut(rut);
            
        }

        private void validarRut(string rut)
        {
            if (rut != "  .   .   -")
            {
                    rut = rut.ToUpper();
                    
                    if (!p.validarDigito(rut))
                {
                    MessageBox.Show(Properties.Resources.ErrorRUT);
                    rutBox.Focus();
                }
            }
        }

        private void guardarBTN_Click(object sender, EventArgs e)
        {
            //Paciente p
            //string nombre, apellidoP, apellidoM, rut, direccion, prevision, telefono;
            //char sexo;
            string Nombre = nombreTB.Text;
            string ApellidoPaterno = ApPaternoTB.Text;
            string ApellidoMaterno = apMaternoTB.Text;
            DateTime FechaNacimiento = fechaNacimientoDP.Value;
            //fechaNacimientoDP
            string Rut = rutBox.Text;
            validarRut(Rut);

            char SEXO;
            if (mascRB.Checked)
                SEXO = 'M';
            else
                SEXO = 'F';

            string TelefonoPaciente = telTB.Text;
            string DireccionPaciente = dire1TB.Text + dire2TB.Text;
            string PrevisionPaciente = previsionTB.Text;
            //prioridad = textBox9.Text;

            //con.insertar(nombre, apellidoP, apellidoM, edad, rut, telefono, direccion, prevision, prioridad);
            if (PacienteControlador.Instance.ingresarPaciente(Rut, Nombre, ApellidoPaterno, ApellidoMaterno, FechaNacimiento, SEXO, TelefonoPaciente, DireccionPaciente, PrevisionPaciente))
            {
                reestablecer();
                MessageBox.Show(Properties.Resources.PacienteIngreso);
            }
            else
                MessageBox.Show(Properties.Resources.PacienteIngresoError);
        }

        private void cancelarBTN_Click(object sender, EventArgs e)
        {
            Principal.Instance.limpiar();
        }

        private void IngresarPacienteUC_Load(object sender, EventArgs e)
        {
            fechaNacimientoDP.Value = fechaNacimientoDP.MaxDate;
        }
    }
}
